This invention relates to a microprocessor, and more particularly to a microprocessor operating with a microprogram.
In a microprocessor operating with a microprogram., when various instructions (e.g., transfer instructions) are provided for a register, it is necessary to designate where the data, which specifies a register subject to designation, is held by the microprogram. Because an instruction code of a unit length is 8 (eight) bits, e.g., in a microprocessor of 8 bits, where all of the transfer instructions can be represented by the 8 bits of the unit length, one transfer instruction can be represented using an instruction code of unit length. The instance where transfer is conducted from a specific data register to the accumulator, or the like corresponds to this example. In the contrast, where one transfer instruction cannot be completely represented using an instruction code of unit length, it must be represented using an instruction code of a plurality of unit lengths. The instance where constants in the program are transferred to the accumulator corresponds to this example. In the case of the former example, the names of registers subject to designation are held in the instruction register. In contrast, in the case of the latter example, the name of the register subject to designation is held in the instruction queuing register in which the subsequent instruction code is held. Accordingly, such designations were made in the conventional microprocessor.
There are a large number of instructions for specifically designating the registers to be designated, e.g., add instruction, subtract instruction, etc. in addition to the transfer instruction as referred to in the above-mentioned examples. Accordingly, since instructions related to registers to be designated have been conventionally provided in the microprogram, there has occurred the problem that the size of the microprogram becomes large.